На курсе вы получите практические навыки решения задач производительности 1С, в том числе характерных для высоконагруженных информационных систем (более 1000 пользователей).
Системные требования для курса:
Не менее 25 Гб свободного места для возможности развернуть тестовую базу.
8 Гб ОЗУ.
CPU Core i5 (4 ядра) или выше.
Требуемое ПО:
ОС Windows 7 и выше, либо Windows Sever 2008 R2 и выше.
Клиент-серверная версия «1С:Предприятие 8.3» (32х или 64х, сервер+клиентская часть).
MS SQL Server 2012 или выше, версия Developer Edition или выше. Должны быть установлены Management Studio и Profiler.
MS Excel.
NotePad++.
Развернута и подключена в клиент-серверном варианте база Test1CProf (актуальную ссылку на dt-файл базы уточнить у организаторов). Объем тестовой базы в развернутом виде – 18 Гб.
В базе Test1CProf должен быть заблокирован запуск регламентных заданий.
Должны быть права для создания базы в клиент-серверном варианте, перезапуска служб: логин/пароль администратора кластера, пароль для sa, пароль для запуска службы сервера «1С:Предприятие» и MS SQL.
Дополнительное ПО и оборудование (рекомендуется):
Два монитора – для просмотра тренинга и выполнения практических задач.
Установленный 1С:Центр управления производительностью.
Установленный Linux Ubuntu актуальной версии (можно установить Linux на бесплатную среду виртуализации Oracle Virtual Box).
Установленный Git Bash или Cygwin.
При выборе очного формата обучения необходимое техническое обеспечение предоставляется 1С:Учебным центром №1.
1. Вводная часть
- Какие знания и навыки дает данный курс.
- Что дает сертификат 1С:Эксперт его обладателю.
- Карьера специалистов, получивших сертификат 1С:Эксперт.
- Навыки 1С:Эксперта для проектирования, разработки, сопровождения и ускорения крупных систем 1С.
- Внедрения в КОРП-сегменте, большие базы, высокая нагрузка: почему здесь никак без 1С:Эксперта.
- Архитектор программного обеспечения: зачем ему знания 1С:Эксперта.
- Полезные материалы для подготовки к экзамену и просто повышения своего уровня.
2. Производительность глазами ИТ-менеджера (Руководитель проектов, Директор ИТ):
- Легко сказать, непросто сделать: полноценный тюнинг или просто набор рекомендаций?
- Настройки.
- Вертикальное масштабирование: подбор оборудования, очевидные моменты при апгрейде.
- Горизонтальное масштабирование: кластеризация, сплит базы.
3. Обзор средств и методик мониторинга и расследования проблем производительности и стабильности.
4. Как объективно оценить, насколько быстро работает система:
- Что такое индекс производительности (Apdex).
- Типовые средства БСП для вычисления индекса производительности.
- Как быстро составить список ключевых операций и целевое время.
- Apdex и SLA для ежедневного мониторинга.
- Apdex для проекта по нагрузочному тестированию.
- Apdex для проекта по оптимизации: методика ЦКТП для ускорения 1С.
- Обратный Apdex, DeltaApdex.
- Как по Apdex понять, насколько можно увеличить скорость работы.
- Примеры с реальных проектов.
5. Когда уже тормозит:
- С чего начать расследование.
- Когда целесообразно ускорение единичной операции.
- Штатный замер производительности: когда применим и подводные камни.
- Когда замера недостаточно: скорость скрытых действий платформы 1С.
- Когда замера недостаточно: время на взаимодействие «клиент-сервер».
- Оптимизация клиент-серверного взаимодействия.
- Когда необходим поиск и устранение узких мест всей системы.
- Ускорение целой системы: инструменты, подходы, подводные камни.
- Различие в методиках ускорения отдельных операций и целой системы, типичные ошибки новичков.
- Как из отдельных кусков собрать общую картину – что происходит с системой.
6. Производительность оборудования:
- Счетчики производительности железа на Windows и их расшифровка.
- Интерактивная задача: настройка анализа загрузки железа на Windows.
- Мониторинг железа на Linux.
- Счетчики производительности MS SQL Server и их расшифровка.
- Как узнать, кто нагружает CPU, диски и неэффективно использует память на сервере «1С:Предприятие».
- Утечки памяти и прожорливые вызовы сервера: как различить и как расследовать.
- Как узнать, кто нагружает CPU, диски и неэффективно использует память на сервере СУБД.
- Счетчики виртуальной машины на примере VMWare.
- Особенности эксплуатации виртуальных машин на примере VMWare.
- Чек-листы по настройке продуктивного контура для максимальной производительности.
7. Средства диагностики 1С и СУБД:
- Технологический журнал (ТЖ).
- Практическая задача по настройке ТЖ и расследованию проблемы с помощью ТЖ.
- Динамические представления для MS SQL и Postgres.
- Трассировка Extended Events.
- Нормализация запросов из трассировки или ТЖ.
- Как из трассировки или DMV найти запрос в коде конфигурации 1С.
- Практическая задача по настройке трассировки и расследованию проблемы с помощью трассировки.
- Как настроить логи Postgres для сбора информации о выполняющихся запросах.
- В каких случаях ТЖ и трассировка влияют на производительность.
- 1С:Центр управления производительностью.
8. Проектируем, чтобы работало быстро: индексы базы данных:
- Что такое индекс базы данных.
- Когда индексы ускоряют выполнение запросов и почему.
- Какие индексы бывают и какие поддерживает платформа 1С.
- Чем хорош кластерный индекс.
- Преимущества покрывающего индекса.
- Когда индексы бесполезны.
- Рекомендации по индексированию, почему оптимизатор запросов может принять решение, отличное от вашего.
- Интерактивная задача по использованию индексов.
- Как узнать, каких индексов не хватает.
- Как узнать, какие индексы лишние.
- Особенности индексов, создаваемых платформой. Подводные камни.
9. Анализируем работу запроса: план запроса:
- Зачем нужен план запроса.
- Какие бывают планы запроса.
- Как получить план запроса в MS SQL Server и Postgres.
- Основные операторы плана запроса: сравнение для MS SQL Server и Postgres.
- Признаки неоптимальных планов: разбор нескольких планов с реальных проектов.
- Влияние статистики СУБД на качество плана запроса.
- Параллелизм в MS SQL Server и Postgres: влияние на производительность и подводные камни.
10. Сопровождаем, чтобы работало быстро: обслуживание индексов и статистики для MS SQL Server и Postgres:
- Как MS SQL Server и Postgres автоматически обновляют статистику, и когда ее нужно обновлять дополнительно.
- Практическая задача: настройка плана обслуживания индексов и статистики для небольших баз на примере MS SQL Server.
- Обслуживание больших баз и баз 24/7 на примере MS SQL Server.
- Обслуживание баз Postgres.
11. Пишем запросы, которые работают быстро:
- Рекомендации по написанию запросов.
- Типичные причины неоптимальной работы запросов.
- Приемы оптимизации запросов.
- Особенности разработки запросов для крупных (высоконагруженных) систем 1С.
12. Транзакции с точки зрения 1С и СУБД:
- Что такое транзакция.
- Как начать транзакцию в 1С явно.
- Примеры, когда платформа неявно начинает транзакцию.
- Неявные транзакции для СУБД на примере MS SQL Server.
- Что подразумевается под утверждением «1С не поддерживает вложенные транзакции».
- Свойства транзакции и их расшифровка.
- Защита от грязного чтения в СУБД-«блокировочнике» и СУБД-«версионнике».
- Каким образом реализован механизм MVCC в MS SQL Server, Postgres и Oracle.
- Для чего нужны уровни изоляции транзакций и транзакционные блокировки.
- Уровни изоляции в разных версиях платформы 1С.
- Как узнать, что действие выполняется в транзакции.
13. Лог транзакций MS SQL Server и WAL для Postgres, бэкапы и отказоустойчивость СУБД:
- Для чего нужен лог транзакций MS SQL Server и WAL для Postgres.
- Модель восстановления базы MS SQL Server.
- Настройки для WAL Postgres, влияющие на производительность и надежность.
- Особенности резервного копирования (backup) для разных моделей восстановления базы MS SQL Server.
- Особенности резервного копирования (backup) для Postgres.
- Обзор механизмов отказоустойчивости для MS SQL Server и Postgres.
14. Разрабатываем так, чтобы обеспечить высокую параллельность: транзакционные блокировки:
- Когда блокировка оправдана, а когда считается избыточной.
- Что такое автоматический и управляемый режим блокировок.
- Как быстро перевести конфигурацию на управляемые блокировки.
- Отличие таймаута на блокировке и дедлока.
- Совместимость управляемых блокировок 1С.
- Совместимость блокировок MS SQL Server.
- Блокировки в Postgres.
- Все способы, как узнать, кто кого заблокировал и найти причину.
- Практическая задача: конфликты на управляемых блокировках 1С – как воспроизвести и как расследовать.
- Практическая задача: конфликты на блокировках СУБД – как воспроизвести и как расследовать.
- Практическая задача: подходы к разработке, приводящие к конфликтам блокировок, и как разрабатывать правильно.
- Практическая задача: расследование таймаута и дедлока с помощью 1С:Центр управления производительностью (ЦУП).
- Интерактивная задача: разбор причин конфликтов блокировок с реальной системы 1С.
15. Другие виды блокировок:
- Объектные блокировки.
- Латчи (PAGELATCH, PAGEIOLATCH).
16. Как повысить надежность работы кластера 1С:
- Возможности кластера 1С для распределения нагрузки.
- Возможности кластера 1С для защиты от чрезмерного потребления памяти процессами кластера.
- Возможности кластера 1С для защиты от чрезмерного потребления памяти и CPU серверным вызовом.
- Система мониторинга кластера 1С.
- Сеансы и соединения для тонкого и толстого клиента.
- Счетчики потребления ресурсов в кластере 1С.
- Ограничения потребления ресурсов в кластере 1С.
17. Лицензии 1С:
- Типичные проблемы с аппаратными ключами 1С и способы их решения.
- Особенности эксплуатации программных лицензий 1С.
18. Проверяем в «песочнице», а не в продуктиве: нагрузочное тестирование:
- Для чего нужно нагрузочное тестирование, чем оно отличается от функционального.
- Нагрузочное тестирование как часть приемо-сдаточных испытаний.
- Нагрузочное тестирование для выявления нестабильно воспроизводимых проблем.
- Нагрузочное тестирование для сайзинга (подбора) оборудования.
- Стресс-тестирование.
- Что такое реалистичный нагрузочный тест.
- Обзор возможностей конфигурации «1С:Тест-центр».
- Пример простого нагрузочного теста.
- Особенности подготовки, разработки и запуска больших нагрузочных тестов (до нескольких тысяч пользователей).
- Как найти оборудование для тестирования, лицензии для системного ПО и платформы «1С:Предприятие».
У данного курса на данный момент нет отзывов